/*
 * 文件名:Location.java
 * 创建时间:2010-10-01
 * 版本:2.0
 * 版权所有:杨涛 walle1027@gmail.com
 */
package com.yangtao.wms.domain;

import com.yangtao.framework.hibernate.BaseEntity;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author 代码生成器 v-2.0
 * @version 2.0
 */
@Entity
@Table(name = "WMS_MST_LOCATION")
public class Location extends BaseEntity implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * 储位编号
	 */
	@Column(name = "LOC_CODE", length = 20)
	private String locCode;
	/**
	 * 库位使用
	 */
	@Column(name = "LOC_USE", length = 20)
	private String locUse;
	/**
	 * 库位类型
	 */
	@Column(name = "LOC_TYPE", length = 20)
	private String locType;
	/**
	 * 库位属性
	 */
	@Column(name = "LOC_PRO", length = 20)
	private String locPro;
	/**
	 * 上架区
	 */
	@Column(name = "LOC_IN", length = 20)
	private String locIn;
	/**
	 * 拣货区
	 */
	@Column(name = "LOC_OUT", length = 20)
	private String locOut;
	/**
	 * 最大承重
	 */
	@Column(name = "MAX_WEIGHT", length = 9, scale = 3)
	private BigDecimal maxWeight;
	/**
	 * 最大体积
	 */
	@Column(name = "MAX_VOLUME", length = 9, scale = 3)
	private BigDecimal maxVolume;
	/**
	 * 最大面积
	 */
	@Column(name = "MAX_AREA", length = 9, scale = 3)
	private BigDecimal maxArea;
	/**
	 * 可用承重
	 */
	@Column(name = "AVAILABLE_WEIGHT", length = 9, scale = 3)
	private BigDecimal availableWeight;
	/**
	 * 可用体积
	 */
	@Column(name = "AVAILABLE_VOLUME", length = 9, scale = 3)
	private BigDecimal availableVolume;
	/**
	 * 可用面积
	 */
	@Column(name = "AVAILABLE_AREA", length = 9, scale = 3)
	private BigDecimal availableArea;
	/**
	 * 长
	 */
	@Column(name = "LOCATION_LENGTH", length = 9, scale = 3)
	private BigDecimal locationLength;
	/**
	 * 宽
	 */
	@Column(name = "LOCATION_WIDTH", length = 9, scale = 3)
	private BigDecimal locationWidth;
	/**
	 * 高
	 */
	@Column(name = "LOCATION_HEIGHT", length = 9, scale = 3)
	private BigDecimal locationHeight;
	/**
	 * X坐标
	 */
	@Column(name = "XCOORD", length = 9, scale = 3)
	private BigDecimal xcoord;
	/**
	 * Y坐标
	 */
	@Column(name = "YCOORD", length = 9, scale = 3)
	private BigDecimal ycoord;
	/**
	 * Z坐标
	 */
	@Column(name = "ZCOORD", length = 9, scale = 3)
	private BigDecimal zcoord;
	/**
	 * 层数
	 */
	@Column(name = "LEVEL")
	private Integer level;
	/**
	 * 备注
	 */
	@Column(name = "REMARK", length = 300)
	private String remark;
	/**
	 * 是否跳换
	 */
	@Column(name = "IS_JUMP")
	private Boolean isJump;
	/**
	 * 储位组ID
	 */
	@Column(name = "LOC_GID", length = 20)
	private String locGid;
	/**
	 * 自定义1
	 */
	@Column(name = "UDF1", length = 20)
	private String udf1;
	/**
	 * 自定义2
	 */
	@Column(name = "UDF2", length = 20)
	private String udf2;
	/**
	 * 自定义3
	 */
	@Column(name = "UDF3", length = 20)
	private String udf3;
	/**
	 * 自定义4
	 */
	@Column(name = "UDF4", length = 20)
	private String udf4;
	/**
	 * 自定义5
	 */
	@Column(name = "UDF5", length = 20)
	private String udf5;
	/**
	 * 自定义6
	 */
	@Column(name = "UDF6", length = 20)
	private String udf6;
	/**
	 * 自定义7
	 */
	@Column(name = "UDF7", length = 9, scale = 3)
	private BigDecimal udf7;
	/**
	 * 自定义8
	 */
	@Column(name = "UDF8", length = 9, scale = 3)
	private BigDecimal udf8;
	/**
	 * 自定义9
	 */
	@Column(name = "UDF9", length = 9, scale = 3)
	private BigDecimal udf9;
	/**
	 * 自定义10
	 */
	@Column(name = "UDF10", length = 9, scale = 3)
	private BigDecimal udf10;
	/**
	 * 自定义11
	 */
	@Column(name = "UDF11", length = 9, scale = 3)
	private BigDecimal udf11;
	/**
	 * 自定义12
	 */
	@Column(name = "UDF12", length = 9, scale = 3)
	private BigDecimal udf12;
	/**
	 * 自定义13
	 */
	@Temporal(TemporalType.TIMESTAMP)
	private Date udf13;
	/**
	 * 自定义14
	 */
	@Temporal(TemporalType.TIMESTAMP)
	private Date udf14;
	/**
	 * 自定义15
	 */
	@Temporal(TemporalType.TIMESTAMP)
	private Date udf15;
	/**
	 * 自定义16
	 */
	@Temporal(TemporalType.TIMESTAMP)
	private Date udf16;
	/**
	 * 自定义17
	 */
	@Temporal(TemporalType.TIMESTAMP)
	private Date udf17;
	/**
	 * 自定义18
	 */
	@Temporal(TemporalType.TIMESTAMP)
	private Date udf18;
	/**
	 * 库位组
	 */
	@OneToMany(fetch = FetchType.LAZY, mappedBy = "location")
	@Cascade(CascadeType.ALL)
	private List<LocationGroup> locationGroup;

	/**
	 * 库区表
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "section_id")
	private Section section;

	/**
	 * 库区表
	 */
	@Column(name = "section_id", updatable = false, insertable = false)
	private String sectionId;

	/**
	 * 获取  储位编号
	 *
	 * @return locCode
	 */
	public String getLocCode() {
		return locCode;
	}

	/**
	 * 设置 储位编号
	 *
	 * @param locCode 储位编号
	 */
	public void setLocCode(String locCode) {
		this.locCode = locCode;
	}

	/**
	 * 获取  库位使用
	 *
	 * @return locUse
	 */
	public String getLocUse() {
		return locUse;
	}

	/**
	 * 设置 库位使用
	 *
	 * @param locUse 库位使用
	 */
	public void setLocUse(String locUse) {
		this.locUse = locUse;
	}

	/**
	 * 获取  库位类型
	 *
	 * @return locType
	 */
	public String getLocType() {
		return locType;
	}

	/**
	 * 设置 库位类型
	 *
	 * @param locType 库位类型
	 */
	public void setLocType(String locType) {
		this.locType = locType;
	}

	/**
	 * 获取  库位属性
	 *
	 * @return locPro
	 */
	public String getLocPro() {
		return locPro;
	}

	/**
	 * 设置 库位属性
	 *
	 * @param locPro 库位属性
	 */
	public void setLocPro(String locPro) {
		this.locPro = locPro;
	}

	/**
	 * 获取  上架区
	 *
	 * @return locIn
	 */
	public String getLocIn() {
		return locIn;
	}

	/**
	 * 设置 上架区
	 *
	 * @param locIn 上架区
	 */
	public void setLocIn(String locIn) {
		this.locIn = locIn;
	}

	/**
	 * 获取  拣货区
	 *
	 * @return locOut
	 */
	public String getLocOut() {
		return locOut;
	}

	/**
	 * 设置 拣货区
	 *
	 * @param locOut 拣货区
	 */
	public void setLocOut(String locOut) {
		this.locOut = locOut;
	}

	/**
	 * 获取  最大承重
	 *
	 * @return maxWeight
	 */
	public BigDecimal getMaxWeight() {
		return maxWeight;
	}

	/**
	 * 设置 最大承重
	 *
	 * @param maxWeight 最大承重
	 */
	public void setMaxWeight(BigDecimal maxWeight) {
		this.maxWeight = maxWeight;
	}

	/**
	 * 获取  最大体积
	 *
	 * @return maxVolume
	 */
	public BigDecimal getMaxVolume() {
		return maxVolume;
	}

	/**
	 * 设置 最大体积
	 *
	 * @param maxVolume 最大体积
	 */
	public void setMaxVolume(BigDecimal maxVolume) {
		this.maxVolume = maxVolume;
	}

	/**
	 * 获取  最大面积
	 *
	 * @return maxArea
	 */
	public BigDecimal getMaxArea() {
		return maxArea;
	}

	/**
	 * 设置 最大面积
	 *
	 * @param maxArea 最大面积
	 */
	public void setMaxArea(BigDecimal maxArea) {
		this.maxArea = maxArea;
	}

	/**
	 * 获取  可用承重
	 *
	 * @return availableWeight
	 */
	public BigDecimal getAvailableWeight() {
		return availableWeight;
	}

	/**
	 * 设置 可用承重
	 *
	 * @param availableWeight 可用承重
	 */
	public void setAvailableWeight(BigDecimal availableWeight) {
		this.availableWeight = availableWeight;
	}

	/**
	 * 获取  可用体积
	 *
	 * @return availableVolume
	 */
	public BigDecimal getAvailableVolume() {
		return availableVolume;
	}

	/**
	 * 设置 可用体积
	 *
	 * @param availableVolume 可用体积
	 */
	public void setAvailableVolume(BigDecimal availableVolume) {
		this.availableVolume = availableVolume;
	}

	/**
	 * 获取  可用面积
	 *
	 * @return availableArea
	 */
	public BigDecimal getAvailableArea() {
		return availableArea;
	}

	/**
	 * 设置 可用面积
	 *
	 * @param availableArea 可用面积
	 */
	public void setAvailableArea(BigDecimal availableArea) {
		this.availableArea = availableArea;
	}

	/**
	 * 获取  长
	 *
	 * @return locationLength
	 */
	public BigDecimal getLocationLength() {
		return locationLength;
	}

	/**
	 * 设置 长
	 *
	 * @param locationLength 长
	 */
	public void setLocationLength(BigDecimal locationLength) {
		this.locationLength = locationLength;
	}

	/**
	 * 获取  宽
	 *
	 * @return locationWidth
	 */
	public BigDecimal getLocationWidth() {
		return locationWidth;
	}

	/**
	 * 设置 宽
	 *
	 * @param locationWidth 宽
	 */
	public void setLocationWidth(BigDecimal locationWidth) {
		this.locationWidth = locationWidth;
	}

	/**
	 * 获取  高
	 *
	 * @return locationHeight
	 */
	public BigDecimal getLocationHeight() {
		return locationHeight;
	}

	/**
	 * 设置 高
	 *
	 * @param locationHeight 高
	 */
	public void setLocationHeight(BigDecimal locationHeight) {
		this.locationHeight = locationHeight;
	}

	/**
	 * 获取  X坐标
	 *
	 * @return xcoord
	 */
	public BigDecimal getXcoord() {
		return xcoord;
	}

	/**
	 * 设置 X坐标
	 *
	 * @param xcoord X坐标
	 */
	public void setXcoord(BigDecimal xcoord) {
		this.xcoord = xcoord;
	}

	/**
	 * 获取  Y坐标
	 *
	 * @return ycoord
	 */
	public BigDecimal getYcoord() {
		return ycoord;
	}

	/**
	 * 设置 Y坐标
	 *
	 * @param ycoord Y坐标
	 */
	public void setYcoord(BigDecimal ycoord) {
		this.ycoord = ycoord;
	}

	/**
	 * 获取  Z坐标
	 *
	 * @return zcoord
	 */
	public BigDecimal getZcoord() {
		return zcoord;
	}

	/**
	 * 设置 Z坐标
	 *
	 * @param zcoord Z坐标
	 */
	public void setZcoord(BigDecimal zcoord) {
		this.zcoord = zcoord;
	}

	/**
	 * 获取  层数
	 *
	 * @return level
	 */
	public Integer getLevel() {
		return level;
	}

	/**
	 * 设置 层数
	 *
	 * @param level 层数
	 */
	public void setLevel(Integer level) {
		this.level = level;
	}

	/**
	 * 获取  备注
	 *
	 * @return remark
	 */
	public String getRemark() {
		return remark;
	}

	/**
	 * 设置 备注
	 *
	 * @param remark 备注
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**
	 * 获取  是否跳换
	 *
	 * @return isJump
	 */
	public Boolean getIsJump() {
		return isJump;
	}

	/**
	 * 设置 是否跳换
	 *
	 * @param isJump 是否跳换
	 */
	public void setIsJump(Boolean isJump) {
		this.isJump = isJump;
	}

	/**
	 * 获取  储位组ID
	 *
	 * @return locGid
	 */
	public String getLocGid() {
		return locGid;
	}

	/**
	 * 设置 储位组ID
	 *
	 * @param locGid 储位组ID
	 */
	public void setLocGid(String locGid) {
		this.locGid = locGid;
	}

	/**
	 * 获取  自定义1
	 *
	 * @return udf1
	 */
	public String getUdf1() {
		return udf1;
	}

	/**
	 * 设置 自定义1
	 *
	 * @param udf1 自定义1
	 */
	public void setUdf1(String udf1) {
		this.udf1 = udf1;
	}

	/**
	 * 获取  自定义2
	 *
	 * @return udf2
	 */
	public String getUdf2() {
		return udf2;
	}

	/**
	 * 设置 自定义2
	 *
	 * @param udf2 自定义2
	 */
	public void setUdf2(String udf2) {
		this.udf2 = udf2;
	}

	/**
	 * 获取  自定义3
	 *
	 * @return udf3
	 */
	public String getUdf3() {
		return udf3;
	}

	/**
	 * 设置 自定义3
	 *
	 * @param udf3 自定义3
	 */
	public void setUdf3(String udf3) {
		this.udf3 = udf3;
	}

	/**
	 * 获取  自定义4
	 *
	 * @return udf4
	 */
	public String getUdf4() {
		return udf4;
	}

	/**
	 * 设置 自定义4
	 *
	 * @param udf4 自定义4
	 */
	public void setUdf4(String udf4) {
		this.udf4 = udf4;
	}

	/**
	 * 获取  自定义5
	 *
	 * @return udf5
	 */
	public String getUdf5() {
		return udf5;
	}

	/**
	 * 设置 自定义5
	 *
	 * @param udf5 自定义5
	 */
	public void setUdf5(String udf5) {
		this.udf5 = udf5;
	}

	/**
	 * 获取  自定义6
	 *
	 * @return udf6
	 */
	public String getUdf6() {
		return udf6;
	}

	/**
	 * 设置 自定义6
	 *
	 * @param udf6 自定义6
	 */
	public void setUdf6(String udf6) {
		this.udf6 = udf6;
	}

	/**
	 * 获取  自定义7
	 *
	 * @return udf7
	 */
	public BigDecimal getUdf7() {
		return udf7;
	}

	/**
	 * 设置 自定义7
	 *
	 * @param udf7 自定义7
	 */
	public void setUdf7(BigDecimal udf7) {
		this.udf7 = udf7;
	}

	/**
	 * 获取  自定义8
	 *
	 * @return udf8
	 */
	public BigDecimal getUdf8() {
		return udf8;
	}

	/**
	 * 设置 自定义8
	 *
	 * @param udf8 自定义8
	 */
	public void setUdf8(BigDecimal udf8) {
		this.udf8 = udf8;
	}

	/**
	 * 获取  自定义9
	 *
	 * @return udf9
	 */
	public BigDecimal getUdf9() {
		return udf9;
	}

	/**
	 * 设置 自定义9
	 *
	 * @param udf9 自定义9
	 */
	public void setUdf9(BigDecimal udf9) {
		this.udf9 = udf9;
	}

	/**
	 * 获取  自定义10
	 *
	 * @return udf10
	 */
	public BigDecimal getUdf10() {
		return udf10;
	}

	/**
	 * 设置 自定义10
	 *
	 * @param udf10 自定义10
	 */
	public void setUdf10(BigDecimal udf10) {
		this.udf10 = udf10;
	}

	/**
	 * 获取  自定义11
	 *
	 * @return udf11
	 */
	public BigDecimal getUdf11() {
		return udf11;
	}

	/**
	 * 设置 自定义11
	 *
	 * @param udf11 自定义11
	 */
	public void setUdf11(BigDecimal udf11) {
		this.udf11 = udf11;
	}

	/**
	 * 获取  自定义12
	 *
	 * @return udf12
	 */
	public BigDecimal getUdf12() {
		return udf12;
	}

	/**
	 * 设置 自定义12
	 *
	 * @param udf12 自定义12
	 */
	public void setUdf12(BigDecimal udf12) {
		this.udf12 = udf12;
	}

	/**
	 * 获取  自定义13
	 *
	 * @return udf13
	 */
	public Date getUdf13() {
		return udf13;
	}

	/**
	 * 设置 自定义13
	 *
	 * @param udf13 自定义13
	 */
	public void setUdf13(Date udf13) {
		this.udf13 = udf13;
	}

	/**
	 * 获取  自定义14
	 *
	 * @return udf14
	 */
	public Date getUdf14() {
		return udf14;
	}

	/**
	 * 设置 自定义14
	 *
	 * @param udf14 自定义14
	 */
	public void setUdf14(Date udf14) {
		this.udf14 = udf14;
	}

	/**
	 * 获取  自定义15
	 *
	 * @return udf15
	 */
	public Date getUdf15() {
		return udf15;
	}

	/**
	 * 设置 自定义15
	 *
	 * @param udf15 自定义15
	 */
	public void setUdf15(Date udf15) {
		this.udf15 = udf15;
	}

	/**
	 * 获取  自定义16
	 *
	 * @return udf16
	 */
	public Date getUdf16() {
		return udf16;
	}

	/**
	 * 设置 自定义16
	 *
	 * @param udf16 自定义16
	 */
	public void setUdf16(Date udf16) {
		this.udf16 = udf16;
	}

	/**
	 * 获取  自定义17
	 *
	 * @return udf17
	 */
	public Date getUdf17() {
		return udf17;
	}

	/**
	 * 设置 自定义17
	 *
	 * @param udf17 自定义17
	 */
	public void setUdf17(Date udf17) {
		this.udf17 = udf17;
	}

	/**
	 * 获取  自定义18
	 *
	 * @return udf18
	 */
	public Date getUdf18() {
		return udf18;
	}

	/**
	 * 设置 自定义18
	 *
	 * @param udf18 自定义18
	 */
	public void setUdf18(Date udf18) {
		this.udf18 = udf18;
	}

	/**
	 * 获取 库位组
	 *
	 * @return locationGroup
	 */
	public List<LocationGroup> getLocationGroup() {
		return locationGroup;
	}

	/**
	 * 设置 库位组
	 *
	 * @param locationGroup 库位组
	 */
	public void setLocationGroup(List<LocationGroup> locationGroup) {
		this.locationGroup = locationGroup;
	}

	/**
	 * 获取 库区表
	 *
	 * @return section
	 */
	public Section getSection() {
		return section;
	}

	/**
	 * 设置 库区表
	 *
	 * @param section 库区表
	 */
	public void setSection(Section section) {
		this.section = section;
	}

	/**
	 * 获取 库区表
	 *
	 * @return sectionId
	 */
	public String getSectionId() {
		return sectionId;
	}

	/**
	 * 设置 库区表主键
	 *
	 * @param sectionId 库区表主键
	 */
	public void setSectionId(String sectionId) {
		this.sectionId = sectionId;
	}

}
